package com.tedu.api.io;

/**
 * IO流--针对  图片
 *
 * 项目结构：Maven互联网型项目
 *    功能：下载第三方jar包【高手写好类,压缩jar文件--引入--实用类】
 *    第三方jar官方下载地址：百度搜：mvn仓库
 *    https：//mvnrepository.com/    搜索：commons-imaging
 *
 *    Apache Commons Imaging 包 ： 针对IO流 图片传输流--封装
 *                            处理各种图像格式外置包
 *                            读入写出--JPEG,PNG,GIF,TIFF等
 *  研究第三方xxx.jar 百度搜：
 */
public class ImageFile {
    /**
     * Imaging 提供一套续写图片流方法0
     * 读：getBufferedImage()可以通过File文件路径找到一个图片
     *                       并且打印图片信息【宽高】
     */
    @Test
    public void testIg() throws IOException,ImageReadException{
        //1.创建File文件类----找到图片：路径地址+图片全称
        File file=new File(pathname:"2.png");
        //2.Imaging图片类，静态方法getBufferedImage()获取图片信息
        BufferedImage bi=Imaging.getBufferedImage(file);
        //3.获取图片信息
        int height=bi.getHeight();
        int width=bi.getWidth();
        System.out.println("图片款"+width+"高"+height);
    }
    /**
     * writeImage(读入图片，写出图片位置，图片格式，null
     * 写出一个图片，先读入一张图片，然后再写出)
     */
    @Test
    public void testWI() throws IOException,ImageReadException{
        //1.读入一张照片
        File file=new File(pathname:"2.png");
        BufferedImage bi=Imaging.getBufferedImage(file);
        //2.写出图片路径+全称
        File desc=new File(pathname:"ma.png");
        //3.Imageing类---调用静态方法
        //ImageFormats 类
        //version1 ImageFormat.format("png");指定图片格式
        //version2 ImageFormat.PNG 静态常量属性
        Imaging.writeImage(bi,desc,ImageFormat.PNG,params:null);
    }
